package com.weixing.mall.provider.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.weixing.mall.provider.model.domain.CityArea;
import com.weixing.mall.provider.model.dto.cms.CityAreaDto;
import com.weixing.mall.provider.model.query.CityAreaQuery;
import com.weixing.mall.provider.model.vo.cms.CityAreaCascaderVo;
import com.weixing.mall.provider.model.vo.cms.CityAreaTreeVo;
import com.weixing.mall.provider.model.vo.cms.CityAreaVo;

import java.util.List;

/**
 * <p>
 * CMS模块-行政区划表 服务类
 * </p>
 *
 * @author Small
 * @since 2019-11-18
 */
public interface ICityAreaService extends IService<CityArea> {

    /**
     * @Description 行政区划分页条件查询 <br/>
     * @author gjq
     * @date 2019/8/29 11:56
     * @param page
     * @Param: cityAreaQuery
     * @return java.util.List<com.weixing.mall.provider.model.vo.cms.CityAreaVo>
     */
    IPage<CityAreaVo> selectOfPage(Page page, CityAreaQuery cityAreaQuery);

    /**
     * @Description 条件查询 <br/>
     * @author gjq
     * @date 2019/8/30 17:16
     * @param cityAreaQuery
     * @return java.util.List<com.weixing.mall.provider.model.vo.cms.CityAreaVo>
     */
    List<CityAreaVo> selectList(CityAreaQuery cityAreaQuery);
    /**
     * @Description 行政区划树 <br/>
     * @author gjq
     * @date 2019/8/29 11:56
     * @param
     * @return java.util.List<com.weixing.mall.provider.model.vo.cms.CityAreaTreeVo>
     */
    List<CityAreaTreeVo> selectTreeList();
    /**
     * @Description 保存行政区划信息 <br/>
     * @author gjq
     * @date 2019/7/26 15:56
     * @param cityAreaDto
     * @return void
     */
    void save(CityAreaDto cityAreaDto);

    List<CityAreaCascaderVo> selectCityAreaCasaderVo();
}
